Inferring the altitude of computing devices using multivariate pattern recognition of telemetry signals

ABSTRACT

A method for inferring an altitude of a computing device, involving monitoring variable data associated with a plurality of variables measured within the computing device, inferring the altitude of the computing device using the measured plurality of variables in a multivariate correlation function, and controlling operation of the computing device based on the inferred altitude.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is related to U.S Pat. No. 7,020,802, filed onOct. 17, 2002, entitled “Method and Apparatus for Monitoring andRecording Computer System Performance Parameters,” the contents of whichare incorporated by reference herein.

BACKGROUND

As computing devices, such as servers, disk drives, etc., continue tobecome increasingly more complex, with more transistors and logic gateson each chip, the various components of the computing devices becomeincreasingly sensitive to cosmic rays (i.e., high energy particles thatoriginate from the sun) and internally excited vibrations. In addition,such complex computing devices are more difficult to cool properly usingair cooling techniques. For example, as disk drives increase incomplexity, the disk drives become increasingly sensitive tovibration-induced destruction. Vibrations affect disk drives in thismanner because the density of information stored on disk drives hasgrown exponentially, resulting in a write head that is required to hit atrack that is less than 20 nanometers in width, while the write head isfloating only 7 nanometers above the disk surface. Such a configurationmakes the read and write performance of the disk drive very sensitive tointernally excited vibrations, such as the vibrations that result fromair cooling fans that intersect structural resonances within thecomputing device.

Further, complex computing devices are typically associated with softerror rates (SERs) from transient single-event upsets (SEUs). SEUs occurin both logic and memory chips and are typically due to high energyneutrons from cosmic rays. Because of increases in logic gate densityand drops in voltage of successive generations of chips, the sensitivityof each new chip design with respect to neutron-induced SERs is alsoincreasing.

The altitude of computing devices significantly affects the sensitivityand cooling of computing devices. For example, at higher altitudes,where the air is thinner, the blades of internal cooling fans turnfaster (i.e., the fans have more revolutions per minute (RPMs)). This isbecause fan speeds are typically controlled by voltage, and are notlocked into a fixed RPM. When fans operate faster, the vibrationscreated by the fans increases, which can lead to disk drive failures, asdescribed above. Thus, often times, testing computing devices in acontrolled enviromnent, such as a lab, at one altitude may not besufficient to ensure that the computing devices will operate in the samemanner upon being distributed to a field or data center at a customersite at a different altitude.

One way to obtain the altitude of a particular computing device is toinstall altimeter sensors that directly measure the altitude of thecomputing devices. In some cases, installing altimeter sensors for alarge number of computing devices can become costly. Further, customerscan specify the altitude for their location when configuration settingsare obtained for computing devices that are specifically tested for thecustomers; however, many times, customers do not know this informationor cannot obtain an accurate measure of the altitude at their specificlocation before the computing device is configured for the customersite.

SUMMARY

In general, in one aspect, the invention relates to a method forinferring an altitude of a computing device, comprising monitoringvariable data associated with a plurality of variables measured withinthe computing device, inferring the altitude of the computing deviceusing the measured plurality of variables in a multivariate correlationfunction, and controlling operation of the computing device based on theinferred altitude.

In general, in one aspect, the invention relates to a method for settingup the inference of altitude for a computing device, comprisingpre-setting a plurality of altitude values for the computing device,obtaining variable data from a plurality of variables measured withinthe computing device at the plurality of altitude values, processing thevariable data to obtain a uniform sampling rate for the variable data,constructing a multivariate correlation function using the plurality ofaltitude values and the variable data, wherein the multivariatecorrelation function is used to obtain an inferred altitude of thecomputing device when the computing device is in an executionenvironment, and wherein the inferred altitude is used to controloperation of the computing device.

In general, in one aspect, the invention relates to an apparatus forinferring an altitude of a computing device, comprising a plurality ofsensors for obtaining variable data for a plurality of variables withinthe computing device, and instructions stored on a medium readable bythe computing device for causing the computing device to performmonitoring variable data associated with a plurality of variablesmeasured within the computing device, inferring the altitude of thecomputing device using the measured plurality of variables in amultivariate correlation function, and controlling operation of thecomputing device based on the inferred altitude.

In general, in one aspect, the invention relates to a computing usablemedium comprising computer readable program code embodied therein forcausing a computer system to obtain variable data associated with aplurality of variables measured within the computer system, infer thealtitude of the computer system using the measured plurality ofvariables in a multivariate correlation function, and control operationof the computer system based on the inferred altitude.

Other aspects of the invention will be apparent from the followingdescription and the appended claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 shows a computing device in accordance with one embodiment of theinvention.

FIGS. 2-3 show flow charts for inferring the altitude of a computingdevice in accordance with one or more embodiments of the invention.

FIGS. 4A-4D show graphical examples of training data for inferring thealtitude of a computing device in accordance with one or moreembodiments of the invention.

FIGS. 5A-5D show graphical examples of monitored data for inferring thealtitude of a computing device in accordance with one or moreembodiments of the invention.

FIG. 6 shows a computer system in accordance with one or moreembodiments of the invention.

DETAILED DESCRIPTION

Specific embodiments of the invention will now be described in detailwith reference to the accompanying figures. Like elements in the variousfigures are denoted by like reference numerals for consistency.

In the following detailed description of embodiments of the invention,numerous specific details are set forth in order to provide a morethorough understanding of the invention. However, it will be apparent toone of ordinary skill in the art that the invention may be practicedwithout these specific details. In other instances, well-known featureshave not been described in detail to avoid unnecessarily complicatingthe description.

In general, embodiments of the invention provide a method and system forinferring the altitude of computing devices. Specifically, embodimentsof the invention use a software telemetry harness and associatedtelemetric measurement data to infer the altitude of computing devices.More specifically, embodiments of the invention infer the altitude ofcomputing devices using a nonlinear nonparametric regression functionthat predicts the altitude of computing devices based on the monitoredvalues of remaining variables measured within the computing devices.

FIG. 1 shows a computing device (100) in accordance with one or moreembodiments of the invention. The computing device (100) includes aframe (101), and a service processor (116). The frame (101) includesseveral processor boards (i.e., Processor Board 1 (102), Processor Board2 (104), Processor Board N (106)), and several memory boards (i.e.,Memory Board 1 (108), Memory Board 2 (110), Memory Board N (112)), and acenter plane (114). The service processor (116) includes severalcircular files (120). Each of the aforementioned components of thecomputing device (100) is described below.

In one or more embodiments of the invention, the computing device (100)may be a server or any type of computing system, including a devicecontroller, a personal organizer, a portable computing device, amainframe computer, etc. The processor boards (102, 104, 106) within thecomputing device (100) communicate with the memory boards (108, 110,112) through the center plane (114). The aforementioned components ofthe computing device (100) are housed within a frame (101). In one ormore embodiments of the invention, all the components within the frame(101) are field replaceable units (FRUs) which are independentlymonitored as described below. In one or more embodiments of theinvention, computing device (100) is operatively connected to a serviceprocessor (116). Those skilled in the art will appreciate that theservice processor (116) may be located within the computing device(100), or may be a standalone unit external to the computing device(100).

In one or more embodiments of the invention, each FRU includes a sensor(not shown) for measuring one or more performance parameters associatedwith the computing device (100). The service processor (116) isconfigured to record the performance parameter(s) measured by eachsensor within the computing device (100). More specifically, the serviceprocessor (116) records performance parameters measured by sensors onthe FRUs into a set of circular files (120) located within the serviceprocessor (116). In one embodiment of the invention, one circular file(120) exists for each FRU within the computing device (100).

In one or more embodiments of the invention, the sensors and relatedcircular files form a real-time telemetry harness, where the circularfiles serve as a repository for storing variable data associated withperformance parameters measured within the computing device. Variabledata may include measurement values for internal parameters maintainedby software within the computing device (100), such as CPU load,transaction latencies, throughput, memory load, FIFO overflowstatistics, etc. Variable data also includes values associated with userwait times and other Quality of Service (QOS) metrics measured duringthe execution of transactions.

In addition, in one or more embodiments of the invention, variable datamay include measured values associated with physical parameters measuredvia the aforementioned sensors located within the computing device(100). Such physical parameters include temperatures associated withvarious components within the computing device (100), relative humidity,cumulative or differential vibrations within the computing device, fanspeed, acoustic signals, current noise, voltage noise, and othermiscellaneous environmental variables. Further, in one or moreembodiments of the invention, the telemetry harness includesfunctionality to convert physical parameter metrics into time seriessignals. The process by which performance parameters are measured,recorded, and converted into time series signals is detailed in U.S.Pat. No. 7,020,802, filed on, Oct. 17, 2002, the contents of which areincorporated by reference herein.

Continuing with FIG. 1, in one or more embodiments of the invention, thecontents of each circular file may be transferred across a network (122)to a remote monitoring center (124) for diagnostic purposes. The network(122) may be a wired or wireless communication channel, such as, a localarea network, a wide area network, the Internet, etc. The remotemonitoring center (124) is configured to perform various diagnosticfunctions using the performance parameter data that is passed fromcircular files (120).

One or more embodiments of the present invention use variable dataassociated with internal software parameters and physical parametersmeasured by the aforementioned telemetry harness to infer the altitudeof a computing device. More specifically, embodiments of the inventionuse a pattern recognition method called multivariate state estimationtechnique (MSET) to empirically “learn” the patterns of correlationamong all the monitored telemetry signals. The monitored variable datais then used to predict the altitude of the computing device on thebasis of the other correlated variables when the computing device is inan executed environment where the altitude is unknown.

FIG. 2 shows a flow chart for setting up the ability to infer thealtitude of computing devices in accordance with one or more embodimentsof the invention. That is, FIG. 2 shows a training phase in accordancewith one or more embodiments of the present invention, where one or morecomputing devices are set up for the ability to infer the altitude onthe computing devices when the computing devices are deployed to thefield or to datacenters in locations with varying altitudes.

Those skilled in the art will appreciate that other methods forpre-setting altitude values may be used. For example, the computingdevice may be placed in one or more locations with a known altitude.Alternatively, a training altimeter or other device for detecting thealtitude may be used to determine the altitude at the location of thecomputing device in the training phase. In this case, the altimeterwould be external to the computing device.

Referring to FIG. 2, initially, a desired altitude is set (Step 200). Inone or more embodiments of the invention, the setting of variousaltitudes in the training phase may be performed in software, where auser simply enters a number for the desired altitude in theenvironmental chamber via a software program. Subsequently, variabledata is obtained using the telemetry harness described with respect toFIG. 1 (Step 202). More specifically, in one or more embodiments of theinvention, variable data associated with physical variables and softvariables is obtained using sensors within the computing device.Variable data obtained in Step 202 includes temperature measurements,voltage and current measurements, acoustic measurements, fan speedmeasurements, CPU load measurements, memory load measurements, disk I/Omeasurement, etc.

Further, in one or more embodiments of the invention, variable data isobtained in the training phase while varying the dynamics on CPU loadwithin the computing device. For example, in one or more embodiments ofthe invention, CPU load may be varied from idle to full using a softwarescript. CPU load dynamics, an internal parameter regulated by software,are varied in the training phase to obtain realistic physical parametermeasurements. Because physical parameter measurements, such astemperature measurements, are directly affected by fluctuations ininternal parameters, such as CPU load dynamics, varying the CPU loadwhile obtaining variable data in the training phase allows variations intemperature measurements to be observed.

In one or more embodiments of the invention, the variable data isprocessed to obtain a uniform sampling rate for all the variable data(Step 204). Because telemetry signals (measurements) are collected fromdifferent collector processes executing within the computing device, thetelemetry signals are usually not synchronized. For example, temperaturemeasurements may be sampled at a different rate than fan speedmeasurements. Unsynchronized telemetry signals can be synchronized byresampling the signals so that all the variable data appears to havebeen sampled at exactly the same point in time.

In one or more embodiments of the invention, a uniform sampling rate isobtained for the variable data using analytical resampling.Particularly, analytical resampling receives a quantized signal,smoothes and resamples the quantized signal to produce a resampledsignal. Subsequently, the resampled signal is re-quantized to produce aquantized resampled signal with uniform sampling rates. To re-quantizethe signal, a probability distribution for the resampled signal isdetermined for a given point in time, using information corresponding tovalues of the resampled signal at neighboring points in time. Theprobability distribution is then used to probabilistically select aquantization level for the resampled signal for the given point in time,resulting in the quantized resampled signal. The aforementionedanalytical resampling is performed for each telemetry signal to obtain auniform sampling rate for the variable data.

Continuing with FIG. 2, outliers and flat data (i.e., data that exhibitsno change and/or is unresponsive to changes in other variables) areremoved from the variable data (Step 206). At this stage, adetermination is made as to whether a different altitude needs to be set(Step 208). Said another way, if variable data for remaining pre-setaltitude values needs to be obtained, then Steps 200-206 are repeated toobtain more variable data at various altitudes. For example, theaforementioned process may be repeated at sea level, 1000 feet above sealevel, 2000 feet above sea level, etc. In one or more embodiments of theinvention, the number of times the above described process is repeatedmay depend on the number of signals measured in the computing deviceand/or how many data points are needed to perform pattern recognition onthe variable data (described below).

If the process does not need to be repeated at additional pre-setaltitudes, then the obtained variable data at a uniform sampling rate isused to construct a training matrix (Step 210). In one or moreembodiments of the invention, the training matrix includes a subset ofthe variable data on which pattern recognition is performed. Forexample, if 10,000 signals are obtained at various altitude values inthe training phase, then 3000 of the observations may be used toconstruct the training matrix. In one or more embodiments of theinvention, the training matrix may be any data structure capable ofstoring variable data in an organized form, such as arrays, tables, etc.In one or more embodiments of the invention, the training matrix is usedto recognize patterns among the subset of variable data (Step 212). Morespecifically, in one or more embodiments of the invention, patternrecognition among the variable data stored in the training matrix isperformed using a multivariate correlation function.

In one or more embodiments of the invention, the multivariatecorrelation function is a nonlinear nonparametric regression functionthat is applied to the variable data in the training matrix. Whennonlinear nonparametric regression functions are applied to suchvariable data including measurement values for different variables,patterns and relationships among the different variables can beextracted. Said another way, non linear nonparametric regressionanalysis may be applied to empirically learn the correlation amongstseveral different variables (i.e., how one variable behaves in relationto one or more other variables). For example, in one or more embodimentsof the invention, the multivariate correlation function applied to thevariable data may be a Gaussian kernel function, a neural network, orany other nonlinear nonparametric regression function.

Those skilled in the art will appreciate that applying a nonlinearnonparametric regression function to a set of variable data to extractpatterns and relationships among the different measured variables is amathematical exercise that is well-known in the art. Thus, theexplanation of applying a nonlinear nonparametric regression function toa set of variable data is omitted.

FIG. 3 shows a flow chart for inferring the altitude of computingdevices in accordance with one or more embodiments of the invention. Inone or more embodiments of the invention, FIG. 3 shows the process forinferring the altitude of a computing device when the computing deviceis deployed in a customer datacenter or in the field where the altitudeis unknown. Further, in one or more embodiments of the invention, theprocess described in FIG. 3 builds on the training phase described inFIG. 2.

Initially, variable data within the computing device is monitored (Step300). As described above, the variable data is collected using thetelemetry harness of FIG. 1. Similar to the training phase, internalparameters, such as CPU load dynamics, may be varied when obtainingvariable data in an execution environment. Thus, in one or moreembodiments of the invention, CPU load dynamics may be varied from idleto full using a script while physical parameters are measured to obtainvariable data.

Subsequently, the variable data is processed to obtain a uniformsampling rate for the variable data, using the analytical resamplingmethod described above (Step 302). At this stage, in one or moreembodiments of the invention, the altitude of the computing device isinferred (i.e., predicted) by examining the pattern recognition obtainedfrom the multivariate correlation function applied to the variable datain the training phase (Step 304). More specifically, because themultivariate correlation function allows the prediction of one signalbased on the behavior of all the other signals that were originallymeasured in the training phase, the altitude of the computing device canbe inferred by observing and analyzing the other signals that are partof the variable data. Mathematically, if n signals were originallymeasured to obtain variable data, and the multivariate correlationfunction is applied to all n signals, then the inference of signal n canbe performed using the monitored variable data for the remaining n−1signals.

For example, suppose that the original signals used to obtain variabledata included temperature measurements, current measurements, voltagemeasurements, fan speed measurements, and the pre-set altitude values.When the computing device is deployed to a customer site where thealtitude is unknown, the temperature, current, voltage, and fan speedmay be monitored to infer the value of the missing variable, i.e., thealtitude.

Lastly, the inferred altitude is used to control the operation of thecomputing device (Step 306). Particularly, in one or more embodiments ofthe invention, the inferred altitude is used to adjust variables thataffect the air-cooling, vibration activity, and other sensitivitieswithin the computing device, which reduce the probability of disk drivefailures and failures of other components of the computing device. Forexample, using the inferred altitude of the computing device, the fanspeeds within the computing device may be adjusted to allow for theproper amount of air-cooling for the physical location of the computingdevice. Because fan speeds tend to increase in higher altitudes, if thecomputing device's inferred altitude is high, then the fan speed may belowered to reduce the probability of vibrations from the fan affectingthe operation of disk drives within the computing device. Further, inone or more embodiments of the invention, the inferred altitude isstored as one of the configuration parameters related to the executionenvironment of the computing device.

FIGS. 4A-4D show examples of variable data obtained during the trainingphase in accordance with one or more embodiments of the invention. Inparticular, FIG. 4A shows a graph of the pre-set altitude values over a16 hour period of time. As described above, the altitude may bemonitored, for example, in an environmental chamber. The altitude shownin FIG. 4A varies from sea level (i.e., 0 feet above sea level) to10,000 feet above sea level.

FIG. 4B shows temperature data plotted over a 16 hour time period inaccordance with one or more embodiments of the invention. Thetemperature data is measured using a temperature sensor at the variousaltitudes shown in FIG. 4A. Further, in one or more embodiments of theinvention, the fluctuation in temperature data shown in FIG. 4B resultsfrom dynamics imposed on CPU load. As described above, varying thedynamics on CPU load directly affects temperature measurements withinthe computing device. Similar to FIG. 4B, FIG. 4C shows a second set oftemperature data measured over a 16 hour time period at the variouspre-set altitude values in accordance with one or more embodiments ofthe invention. Lastly, FIG. 4D shows measurements obtained from a fanspeed sensor within the computing device over a 16 hour time period inaccordance with one or more embodiments of the invention. As can be seenfrom the variable data graphed in FIGS. 4B-4D, both temperature sensorsand the fan speed sensor exhibit correlations to the changes in pre-setaltitude values.

FIGS. 5A-5D show examples of monitored data when the computing device isin an execution environment in accordance with one or more embodimentsof the invention. In one or more embodiments of the invention, FIGS. 5Aand 5B show the temperature data measured using the same temperaturesensor that is shown in FIGS. 4B and 4C, respectively. The temperaturedata graphed in FIGS. 5A and 5B is measured in the execution environmentof the computing device. In one or more embodiments of the invention,the temperature data measured and shown in FIGS. 5A and 5B is graphedover a smaller period of time (i.e., 2.5 hours). In one or moreembodiments of the invention, FIG. 5C shows the fan speed using the samefan speed sensor from which measurements were obtained in FIG. 4D.

FIG. 5D shows a graph of the inferred altitude in accordance with one ormore embodiments of the invention, where the inferred altitude isobtained using the multivariate correlation function and the processdescribed above in FIG. 3. More specifically, using relationships andcorrelations between the monitored variable data represented in FIGS.5A-5C, the altitude of the computing device is inferred and graphed inFIG. 5D. Further, the inferred altitude is plotted against the monitoredaltitude (i.e., the straight line graph) to show the accuracy of theinferred altitude. In one or more embodiments of the invention, themonitored altitude (i.e., the actual altitude of the location of thecomputing device when the computing device is in an executionenvironment), may be obtained using an altimeter or other altitudedetecting device if a user wants to re-check the fidelity of the virtualaltimeter modeling.

The invention may be implemented on virtually any type of computerregardless of the platform being used. For example, as shown in FIG. 6,a computer system (600) includes a processor (602), associated memory(604), a storage device (606), and numerous other elements andfunctionalities typical of today's computers (not shown). The computer(600) may also include input means, such as a keyboard (608) and a mouse(610), and output means, such as a monitor (612). The computer system(600) is connected to a local area network (LAN) or a wide area network(e.g., the Internet) (not shown) via a network interface connection (notshown). Those skilled in the art will appreciate that these input andoutput means may take other forms, now known or later developed.

Further, those skilled in the art will appreciate that one or moreelements of the aforementioned computer system (600) may be located at aremote location and connected to the other elements over a network.Further, the invention may be implemented on a distributed system havinga plurality of nodes, where each computing device for which the altitudeis inferred may be located on a different node within the distributedsystem. In one or more embodiments of the invention, the nodecorresponds to a computer system. Alternatively, the node may correspondto a processor with associated physical memory. The node mayalternatively correspond to a processor with shared memory and/orresources. Further, software instructions to perform embodiments of theinvention may be stored on a computer readable medium such as a compactdisc (CD), a diskette, a tape, a file, or any other computer readablestorage device.

Embodiments of the invention provide a method and apparatus forinferring the altitude of a computing device that includes many signals(e.g., a computing device with a few signals up to 1000 or more signalsbeing monitored using telemetry). By leveraging continuous systemtelemetry, embodiments of the invention provide for a method to inferthe altitude of a computing device with +/−1% accuracy. Using theinferred altitude, operation of the computing device may be controlled.For example, air-cooling within computing devices may be optimized, softerror rate discrimination (SERD) may incorporate the altitude so thatSERD may also be optimized, and automated fan speed adjustments can bemade to avoid known structural resonances in computing device internalcomponents. Optimizing the aforementioned variables reduces theprobability of failure of a computing device that has been thoroughlytested in a training environment, but has not necessarily been tested inthe execution environment of the computing device.

While the invention has been described with respect to a limited numberof embodiments, those skilled in the art, having benefit of thisdisclosure, will appreciate that other embodiments can be devised whichdo not depart from the scope of the invention as disclosed herein.Accordingly, the scope of the invention should be limited only by theattached claims.

1. A method for inferring an altitude of a computing device, comprising:monitoring variable data associated with a plurality of variablesmeasured within the computing device; inferring the altitude of thecomputing device using the measured plurality of variables in amultivariate correlation function; and controlling operation of thecomputing device based on the inferred altitude, wherein controlling theoperation of the computing device comprises adjusting at least one of aplurality of adjustable variables associated with the computing devicebased on inferred altitude, wherein the plurality of adjustablevariables comprise a fan speed, a voltage, a current, and a temperature.2. The method of claim 1, wherein the plurality of variables comprisephysical variables including temperature signals, voltage signals,current signals, vibration signals, acoustic signals, and fan speedsmeasured within the computing device.
 3. The method of claim 1, whereinthe plurality of variables comprise internal variables including centralprocessing unit (CPU) load, disk input/output, transaction latencies,throughput, and memory load.
 4. The method of claim 1, furthercomprising: varying dynamics on a central processing unit (CPU) load. 5.The method of claim 4, wherein the CPU load is varied from idle to full.6. The method of claim 1, further comprising: processing the monitoredvariable data to obtain a uniform sampling rate for the variable data.7. The method of claim 1, wherein the multivariate correlation functionis a non-linear, non-parametric regression function.
 8. The method ofclaim 7, wherein the multivariate correlation function is one selectedfrom the group consisting of a neural network and a kernel regression.9. The method of claim 1, wherein the multivariate correlation functionis used to determine relationships between the measured plurality ofvariables within the computing device.
 10. A method for setting up theinference of altitude for a computing device, comprising: pre-setting aplurality of altitude values for the computing device; obtainingvariable data from a plurality of variables measured within thecomputing device at the plurality of altitude values; processing thevariable data to obtain a uniform sampling rate for the variable data;constructing a multivariate correlation function using the plurality ofaltitude values and the variable data, wherein the multivariatecorrelation function is used to obtain an inferred altitude of thecomputing device when the computing device is in an executionenvironment, and wherein the inferred altitude is used to controloperation of the computing device, wherein controlling the operation ofthe computing device comprises adjusting at least one of a plurality ofadjustable variables associated with the computing device based oninferred altitude, wherein the plurality of adjustable variablescomprise a fan speed, a voltage, a current, and a temperature.
 11. Themethod of claim 10, further comprising: removing outliers and flat datafrom the variable data.
 12. The method of claim 10, wherein constructionthe multivariate correlation function comprises creating a trainingmatrix comprising a subset of the variable data, and using the trainingmatrix to determine relationships between the plurality of altitudevalues and the variable data within the computing device.
 13. The methodof claim 10, wherein the multivariate correlation function is anonlinear nonparametric regression function.
 14. The method of claim 10,wherein the plurality of variables comprise physical variables includingtemperature signals, voltage signals, current signals, vibrationsignals, acoustic signals, and fan speeds measured within the computingdevice.
 15. The method of claim 10, wherein the plurality of variablescomprise internal variables including central processing unit (CPU)load, disk input/output, transaction latencies, throughput, and memoryload.
 16. The method of claim 10, further comprising: varying dynamicson a central processing unit (CPU) load.
 17. An apparatus for inferringan altitude of a computing device, comprising: a plurality of sensorsfor obtaining variable data for a plurality of variables within thecomputing device; and instructions stored on a medium readable by thecomputing device for causing the computing device to perform: monitoringvariable data associated with a plurality of variables measured withinthe computing device; inferring the altitude of the computing deviceusing the measured plurality of variables in a multivariate correlationfunction; and controlling operation of the computing device based on theinferred altitude, wherein controlling the operation of the computingdevice comprises adjusting at least one of a plurality of adjustablevariables associated with the computing device based on inferredaltitude, wherein the plurality of adjustable variables comprise a fanspeed, a voltage, a current, and a temperature.
 18. The apparatus ofclaim 17, wherein the variable data is obtained using telemetry.
 19. Theapparatus of claim 17, wherein the variable data is processed to obtaina uniform sampling rate for the variable data.
 20. The apparatus ofclaim 17, wherein the plurality of variables comprise physical variablesincluding temperature signals, voltage signals, current signals,vibration signals, acoustic signals, and fan speeds measured within thecomputing device.
 21. The apparatus of claim 17, wherein the pluralityof variables comprise internal variables including central processingunit (CPU) load, disk input/output, transaction latencies, throughput,and memory load.
 22. The apparatus of claim 17, wherein the computingdevice is a server.
 23. The apparatus of claim 17, wherein themultivariate correlation function is used to determine relationshipsbetween the measured plurality of variables within the computing device.24. A computer usable medium comprising computer readable program codeembodied therein for causing a computer system to: obtain variable dataassociated with a plurality of variables measured within the computersystem; infer the altitude of the computer system using the measuredplurality of variables in a multivariate correlation function; andcontrol operation of the computer system based on the inferred altitude,wherein controlling the operation of the computing device comprisesadjusting at least one of a plurality of adjustable variables associatedwith the computing device based on inferred altitude, wherein theplurality of adjustable variables comprise a fan speed, a voltage, acurrent, and a temperature.